package com.nbsaas.boot.script.ext.apis;

import com.nbsaas.boot.script.ext.domain.simple.ScriptSource;

/**
 * 脚本来源接口，用于从不同位置加载脚本内容。
 */
public interface ScriptResource {

    /**
     * 当前实现支持的协议前缀，例如：
     * file:/  db:/  classpath:/
     */
    String getPrefix();

    /**
     * 加载脚本内容，要是获取失败返回null
     * @param path 路径（可能包含前缀）
     */
    ScriptSource loadScript(String path);
}
